using System;
using System.Web;

namespace STHPMS1.Common.C_Utils
{
	public class MyCookieHelper
	{
		/// <summary>
		/// 清除指定Cookie
		/// </summary>
		/// <param name="cookiename">cookiename</param>
		public static void ClearCookie (string cookiename)
		{
			HttpCookie cookie = HttpContext.Current.Request.Cookies [cookiename];
			if (cookie != null) {
				cookie.Expires = DateTime.Now.AddYears (-3);
				HttpContext.Current.Response.Cookies.Add (cookie);
			}
		}

		/// <summary>
		/// 获取指定Cookie值
		/// </summary>
		/// <param name="cookiename">cookiename</param>
		/// <returns></returns>
		public static string GetCookieValue (string cookiename)
		{
			HttpCookie cookie = HttpContext.Current.Request.Cookies [cookiename];
			string str = string.Empty;
			if (cookie != null) {
				str = cookie.Value;
			}
			return str;
		}

		/// <summary>
		/// 添加一个Cookie（关闭浏览器过期）
		/// </summary>
		/// <param name="cookiename"></param>
		/// <param name="cookievalue"></param>
		public static void SetCookie (string cookiename, string cookievalue)
		{
			SetCookie (cookiename, cookievalue, DateTime.Now, true);
		}

		/// <summary>
		/// 添加一个Cookie（24小时过期）
		/// </summary>
		/// <param name="cookiename"></param>
		/// <param name="cookievalue"></param>
		/// <param name="expires"></param>
		public static void SetExpiresCookie (string cookiename, string cookievalue, int expires = 0)
		{
			SetCookie (cookiename, cookievalue, DateTime.Now.AddDays (expires), false);
		}

		/// <summary>
		/// 添加一个Cookie
		/// </summary>
		/// <param name="cookiename">cookie名</param>
		/// <param name="cookievalue">cookie值</param>
		/// <param name="expires">过期时间 DateTime</param>
		public static void SetCookie (string cookiename, string cookievalue, DateTime expires, bool flag = false)
		{
			HttpCookie cookie = new HttpCookie (cookiename) {
				Value = cookievalue
			};
			if (!flag)
				cookie.Expires = expires;
			HttpContext.Current.Response.Cookies.Add (cookie);
		}
	}
}
